// 处理键盘输入事件
export function handleInputKeydown(event:any) {
    const allowedKeys = [
        'Backspace', 'Delete', 'Tab', 'Escape', 'Enter', 'ArrowLeft',
        'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'
    ];

    // 允许的控制键
    if (allowedKeys.includes(event.key)) {
        return;
    }

    // 允许数字和小数点
    if (!/^[0-9.]$/.test(event.key)) {
        event.preventDefault();
    }

    // 只允许一个小数点
    const target = event.target;
    if (event.key === '.' && target.value.includes('.')) {
        event.preventDefault();
    }
}

// 处理输入事件，过滤非法字符
export function handleInput(event:any) {
    const target = event.target;
    let value = target.value;

    // 移除所有非数字和小数点的字符
    value = value.replace(/[^0-9.]/g, '');

    // 确保只保留一个小数点
    const parts = value.split('.');
    if (parts.length > 2) {
        value = parts[0] + '.' + parts.slice(1).join('');
    }

    // 限制小数点后最多两位
    if (parts.length === 2 && parts[1].length > 2) {
        value = parts[0] + '.' + parts[1].substring(0, 2);
    }

    target.value = value;

    // 更新对应的 store 值
    // 注意：这种方法需要根据具体绑定的字段进行调整
}